The main application of most mobile radio systems like the Global System for Mobile communications (GSM) has been mobile telephony. However, the use of mobile data applications like facsimile transmission and short message exchange is becoming more popular. New data applications include wireless personal computers, mobile offices, electronic funds transfer, road transport telemetry, field service businesses, fleet management, etc. These applications are characterized by “bursty” traffic. In other words, a relatively large amount of data is transmitted over a relatively short time interval followed by significant time intervals when little or no data is transmitted.
In bursty traffic situations, packet-switched communications mechanisms better utilize the transmission medium than circuit-switched mechanisms. In a packet-switched network, the transmission medium is used only on demand, and a single physical channel can be shared by many users. Another advantage is that in contrast to time-oriented charging applied for circuit-switched connections, packet-switched data services allow charging depending on the amount of data transmission and on the quality of service of that transmission.
In order to accommodate these new mobile applications, packet radio services, like the General Packet Radio Service (GPRS) incorporated in GSM, accommodate connectionless, packet-switched data services with high bandwidth efficiency. Cellular Digital Packet Data (CDPD) networks are another example. A significant interest of end users of a mobile packet data service such as GPRS is that wireless PCs support conventional Internet-based applications like file transfer, submission and reception of e-mail, and “surfing” the Internet via the worldwide web. Video is also a possible important element of multimedia services that may ultimately be supported by GPRS-type services.
FIG. 1 shows a mobile data service from a user's point of view in the context of a mobile communications system 10. An end user communicates data packets using a mobile host 12 including for example a laptop computer 14 connected to a mobile terminal 16. The mobile host 12 communicates for example with a fixed computer terminal 18 incorporated in a local area network (LAN) 20 through a mobile packet data support node 22 via one or more routers 24, a packet data network 26, and a router 28 in the local area network 20. Of course, those skilled in the art will appreciate that this drawing is simplified in that the “path” is a logical path rather than an actual physical path or connection. In a connectionless data packet communication between the mobile host 12 and fixed terminal 18, packets are routed from the source to the destination independently and do not necessarily follow the same path (although they can).
Thus, independent packet routing and transfer within the mobile network is supported by a mobile packet data support node 22 which acts as a logical interface or gateway to external packet networks. A subscriber may send and receive data in an end-to-end packet transfer mode without using circuit-switched mode network resources. Moreover, multiple point-to-point, parallel sessions are possible. For example, a mobile host like a mobile PC might run several applications at one time like a video conference, an e-mail communication, or facsimile web browsing, etc.
FIG. 2 shows a more detailed mobile communications system using the example GSM mobile communications model that supports both circuit-switched and packet-switched communications. A mobile host 12 including a computer terminal 14 and mobile radio 16 communicates over a radio interface with one or more base stations (BSs) 32. Each base station 32 is located in a corresponding cell 30. Multiple base stations 32 are connected to a base station controller (BSC) 34 which manages the allocation and deallocation of radio resources and controls handovers of mobile stations from one base station to another. A base station controller and its associated base stations are sometimes referred to as a base station subsystem (BSS). The BSC 34 is connected to a mobile switching center (MSC) 36 through which circuit-switched connections are set up with other networks 38 such as the Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), etc.
The MSC 36 is also connected via a Signaling System Number 7 (SS7) network 40 to a Home Location Register (HLR) 42, a Visitor Location Register (VLR) 44, and Authentication Center (AuC) 46. The VLR 44 includes a database containing the information about all mobile stations currently located in a corresponding location or service area as well as temporary subscriber information needed by the MSC to provide services to mobiles in its service area. Typically, when a mobile station enters a visiting network or service area, the corresponding VLR 44 requests and receives data about the roaming mobile station from the mobile's HLR and stores it. As a result, when the visiting mobile station is involved in a call, the VLR 44 already has the information needed for call setup.
The HLR 42 is a database node that stores and manages subscriptions. For each “home” mobile subscriber, the HLR contains permanent subscriber data such as the mobile station ISDN number (MSISDN) which uniquely identifies the mobile telephone subscription in the PSTN numbering plan and an international mobile subscriber identity (IMSI) which is a unique identity allocated to each subscriber and used for signaling in the mobile networks. All network-related subscriber information is connected to the IMSI. The HLR 42 also contains a list of services which a mobile subscriber is authorized to use along with a current subscriber location number corresponding to the address of the VLR currently serving the mobile subscriber.
Each BSC 34 also connects to a GPRS network 51 at a Serving GPRS Support Node (SGSN) 50 responsible for delivery of packets to the mobile stations within its service area. The gateway GPRS support node (GGSN) 54 acts as a logical interface to external data packet networks such as the IP data network 56. SGSN nodes 50 and GGSN nodes 54 are connected by an intra-PLMN IP backbone 52. Thus, between the SGSN 50 and the GGSN 54, the Internet protocol (IP) is used as the backbone to transfer data packets. Within the GPRS network 51, packets or protocol data units (PDUs) are encapsulated at an originating GPRS support node and decapsulated at the destination GPRS support node. This encapsulation/decapsulation at the IP level between the SGSN 50 and the GGSN 54 is called “tunneling” in GPRS. The GGSN 54 maintains routing information used to “tunnel” PDUs to the SGSN 50 currently serving the mobile station. A common GPRS Tunnel Protocol (GTP) enables different packet data protocols to be employed even if those protocols are not supported by all of the SGSNs. All GPRS user-related data needed by the SGSN to perform the routing and data transfer functionality is accessed from the HLR 42 via the SS7 network 40. The HLR 42 stores routing information and maps the IMSI to one or more packet data protocol (PDP) addresses as well as mapping each PDP address to one or more GGSNs.
Before a mobile host can send packet data to a corresponding external host like the Internet service provider (ISP) 58 in FIG. 2, the mobile host 12 has to “attach” to the GPRS network 51 to make its presence known and to create a packet data protocol (PDP) context to establish a relationship with a gateway GGSN 54 towards the external network that the mobile host is accessing. The attach procedure is carried out between the mobile host 12 and the SGSN 50 to establish a logical link. As a result, a temporary logical link identity is assigned to the mobile host 12. A PDP context is established between the mobile host and the GGSN 54. The selection of GGSN 54 is based on the name of the external network to be reached. One or more application flows (sometimes called “routing contexts”) may be established for a single PDP context through negotiations with the GGSN 54. An application flow corresponds to a stream of data packets distinguishable as being associated with a particular host application. An example application flow is an electronic mail message from the mobile host to a fixed terminal. Another example application flow is a link to a particular Internet Service Provider (ISP) to download a graphics file from a web site. Both of these application flows are associated with the same mobile host and the same PDP context.
Connectionless data communications are based on specific protocol procedures, which are typically separated into different layers. FIG. 3 shows a GPRS “transmission plane” that is modeled with multi-layer protocol stacks. Between the GGSN and the SGSN, the GPRS tunneling protocol (GTP) tunnels the PDUs through the GPRS backbone network 52 by adding routing information. The GTP header contains a tunnel end point identifier for point-to-point and multicast packets as well as a group identity for point-to-multipoint packets. Additionally, a type field that specifies the PDU type and a quality of service profile associated with a PDP context session are included. Below the GTP, the well-known Transmission Control Protocol/User Diagram Protocol (TCP/UDP) and Internet Protocol (IP) are used as the GPRS backbone network layer protocols. Ethernet, frame relay (FR), or asynchronous transfer mode (ATM)-based protocols may be used for the link and physical layers depending on the operator's network architecture.
Between the SGSN and mobile station/host, a SubNetwork Dependent Convergence Protocol (SNDCP) maps network level protocol characteristics onto the underlying logical link control (LLC) and provides functionalities like multiplexing of network layer messages onto a single virtual logical connection, ciphering, segmentation, and compression. A Base Station System GPRS Protocol (BSSGP) is a flow control protocol, which allows the base station system to start and stop PDUs sent by the SGSN. This ensures that the BSS is not flooded by packets in case the radio link capacity is reduced, e.g., because of fading and other adverse conditions. Routing and quality of service information are also conveyed. Frame relay and ATM may be used to relay frames of PDUs over the physical layer.
Radio communication between the mobile station and the GPRS network covers physical and data link layer functionality. The physical layer is split up into a physical link sublayer (PLL) and a physical RF sublayer (RFL). RFL performs modulation and demodulation of the physical waveforms and specifies carrier frequencies, radio channel structures, and raw channel data rates. PLL provides services for information transfer over the physical radio channel and includes data unit framing, data coding, and detection/correction of physical medium transmission areas. The data link layer is separated into two distinct sublayers. The radio link control/medium access control (RLC/MAC) sublayer arbitrates access to the shared physical radio medium between multiple mobile stations and the GPRS network. RLC/MAC multiplexes data and signaling information, performs contention resolution, quality service control, and error handling. The logical link control (LLC) layer operates above the MAC layer and provides a logical link between the mobile host and the SGSN.
Quality of service corresponds to the goodness (quality) with which a certain operation (service) is performed. Certain services like multimedia applications or a simple phone call need guarantees about accuracy, dependability, and speed of transmission. Typically, in data communications, “best efforts” are employed, and no special attention is paid to delay or throughput guarantees. Generally, quality of service parameters can be characterized qualitatively in three services classes including deterministic (used for hard, real-time application), statistical (used for soft real-time applications), and best effort (everything else where no guarantees are made). Quantitative parameters may include throughput (such as the average data rate or peak data rate), reliability, delay, and jitter corresponding to the variation delay between a minimum and maximum delay time that a message experiences.
In the context of providing quality of service (QoS) in a mobile data communications systems, one QoS approach is to assign a specific priority to each PDP context. But this approach is unsatisfactory. As defined above, each PDP context may have plural application flows. Each application flow in a current PDP context/session likely has different per packet delay needs. For example, real time applications like telephony require a guaranteed service while image video needs a predicted delay service. More specifically, elastic applications like interactive bursts, interactive bulk transfer, and asynchronous bulk transfer require different degrees of as soon as possible (or best effort) delay service.
Rather than limiting the quality of service to a single PDP context/single network level IP address, the present invention defines a quality of service for each individual application flow. An appropriate quality of service is separately reserved, monitored, and regulated for each application flow in a PDP context. Moreover, the present invention provides a dynamic quality of service reservation mechanism per PDP context which is introduced into a mobile data communications system in order to function as a quality of service “aware” client network layer that permits integration with other data service architectures such as the Internet to permit an end-to-end integrated service where quality of service can be specified from the mobile host all the way to a fixed host in an end-to-end communication.
A mobile communication system is provided where a mobile host communicates packet data with an external network by way of a packet gateway node. The mobile host establishes a packet session during which plural application flows are communicated with an external network entity. Each application flow includes a corresponding stream of packets. In addition, a corresponding quality of service parameter is defined and reserved for each of the plural application flows. In this way, different quality of service parameters may be defined and reserved for different ones of the application flows. Packets corresponding to each of the application flows are then delivered, for example, from the external network entity all the way to the mobile host in accordance with the quality of service reserved for that application flow.
Different qualities of service may have different allocated bandwidths, delays, and/or reliabilities. One class of service is best effort where packets in an application flow may be dropped. Other classes of service are classified as predictive where packets in an application flow are not dropped. In terms of delay, quality of service may include delay classes that specify a maximum packet transfer rate, a mean packet transfer rate, and a packet burst size of an individual application flow.
Data services subscription information is stored for each mobile host and specifies whether the mobile host subscribes to a static or dynamic quality of service. If a dynamic quality of service is subscribed to where QoS may be specified for each application flow, the subscription information for such a mobile host defines specifically subscribed to quality of service parameters or classes. Then when the mobile host establishes a packet session, each subscribed quality of service class is made available for application flows which are activated during that session.
The process of establishing a packet session includes the mobile host “attaching” to the network (or other equivalent operation) and communicating a packet session start/activate message to the gateway node. Moreover, an end-to-end configuration procedure is established between the mobile terminal and the external network entity at the other end. That end-to-end configuration assigns a network packet layer address to the mobile host. Several end-to-end configurations may exist on the same PDP context, and several application flows may exist using the same configuration. As a result, plural application flows may be flexibly established during the mobile host session having different network layer (e.g., IP) addresses and different qualities of service. In the configuration procedure, the gateway node functions as a dynamic host configuration agent serving the client mobile host relaying packets between the mobile host and the external network entity.
In addition to the data communications “tunnel” corresponding to the network layer bearer between the gateway node and the mobile host, a relationship is also established in the gateway node between a mobile host identifier (e.g., the mobile's IMSI), the established data communications tunnel, and the network layer address stored for the mobile host for the established session. Using this relationship, the gateway node analyzes received packets and only permits those packets having a destination or source corresponding to one of the mobile host network layer addresses stored for the established session.
After making a reservation request for a particular quality of service for an individual application flow, a determination is made whether the reservation request can be met under current traffic conditions. If the reservation request can be met, the network packet layer bearer between the mobile host and the gateway node is established to “bear” plural ones of the individual application flows having different corresponding quality of service classes.
In addition to the packet gateway node, a packet serving node is provided between the packet gateway node and the mobile host. Among other things, the serving node determines if the reservation request for the particular quality of service can be supported from the serving node to the mobile host based on a current traffic load of existing radio communications in the area where the mobile host is currently being served. In particular, the serving node estimates delay and bandwidth requirements corresponding to the requested quality of service and provides them to the gateway node. Once an application flow reservation is made for a particular quality of service, the gateway node monitors that application flow to ensure that the reserved quality of service is met using appropriate packet classifying and transfer scheduling procedures.
For packets destined for mobile hosts, the serving node merges those packets from different sessions corresponding to the same mobile hosts which have the same quality of service. The serving node also merges packets destined for different mobile hosts located in the same geographical service area that have the same quality of service. Packets destined for the same geographical service area but having different qualities of service are assigned to different priority queues that correspond to those different qualities of service and are forwarded to the particular radio access network within the geographical area.